home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
tex
/
texsrc.arc
/
TEX1.C
< prev
next >
Wrap
C/C++ Source or Header
|
1988-09-14
|
47KB
|
2,266 lines
overlay "tex1"
#define EXTERN extern
#include "texd.h"
zshortdisplay ( p )
integer p ;
{r_shortdisplay
integer n ;
while ( p > memmin ) {
if ( ( p >= himemmin ) )
{
if ( p <= memend )
{
if ( mem [(long) p ] .hh.b0 != fontinshortd )
{
if ( ( mem [(long) p ] .hh.b0 < 0 ) || ( mem [(long) p ] .hh.b0 > fontmax ) )
printchar ( 42 ) ;
else printesc ( hash [ 3268 + mem [(long) p ] .hh.b0 ] .v.RH ) ;
printchar ( 32 ) ;
fontinshortd = mem [(long) p ] .hh.b0 ;
}
printASCII ( mem [(long) p ] .hh.b1 ) ;
}
}
else switch ( mem [(long) p ] .hh.b0 )
{case 0 :
case 1 :
case 3 :
case 8 :
case 4 :
case 5 :
case 13 :
print ( 177 ) ;
break ;
case 2 :
printchar ( 124 ) ;
break ;
case 10 :
if ( mem [(long) p + 1 ] .hh .v.LH != 0 )
printchar ( 32 ) ;
break ;
case 9 :
printchar ( 36 ) ;
break ;
case 6 :
shortdisplay ( mem [(long) p + 1 ] .hh .v.RH ) ;
break ;
case 7 :
{
shortdisplay ( mem [(long) p + 1 ] .hh .v.LH ) ;
shortdisplay ( mem [(long) p + 1 ] .hh .v.RH ) ;
n = mem [(long) p ] .hh.b1 ;
while ( n > 0 ) {
if ( mem [(long) p ] .hh .v.RH != 0 )
p = mem [(long) p ] .hh .v.RH ;
decr ( n ) ;
}
}
break ;
default :
;
break ;
}
p = mem [(long) p ] .hh .v.RH ;
}
}
zprintfontand ( p )
integer p ;
{r_printfontand
if ( p > memend )
printesc ( 178 ) ;
else {
if ( ( mem [(long) p ] .hh.b0 < 0 ) || ( mem [(long) p ] .hh.b0 > fontmax ) )
printchar ( 42 ) ;
else printesc ( hash [ 3268 + mem [(long) p ] .hh.b0 ] .v.RH ) ;
printchar ( 32 ) ;
printASCII ( mem [(long) p ] .hh.b1 ) ;
}
}
zprintmark ( p )
integer p ;
{r_printmark
printchar ( 123 ) ;
if ( ( p < himemmin ) || ( p > memend ) )
printesc ( 178 ) ;
else showtokenlis ( mem [(long) p ] .hh .v.RH , 0 , maxprintline - 10 ) ;
printchar ( 125 ) ;
}
zprintruledim ( d )
scaled d ;
{r_printruledim
if ( ( d == - 1073741824 ) )
printchar ( 42 ) ;
else printscaled ( d ) ;
}
zprintglue ( d , order , s )
scaled d ;
integer order ;
strnumber s ;
{r_printglue
printscaled ( d ) ;
if ( ( order < 0 ) || ( order > 3 ) )
print ( 179 ) ;
else if ( order > 0 )
{
print ( 180 ) ;
while ( order > 1 ) {
printchar ( 108 ) ;
decr ( order ) ;
}
}
else if ( s != 0 )
print ( s ) ;
}
zprintspec ( p , s )
integer p ;
strnumber s ;
{r_printspec
if ( ( p < memmin ) || ( p >= lomemmax ) )
printchar ( 42 ) ;
else {
printscaled ( mem [(long) p + 1 ] .cint ) ;
if ( s != 0 )
print ( s ) ;
if ( mem [(long) p + 2 ] .cint != 0 )
{
print ( 181 ) ;
printglue ( mem [(long) p + 2 ] .cint , mem [(long) p ] .hh.b0 , s ) ;
}
if ( mem [(long) p + 3 ] .cint != 0 )
{
print ( 182 ) ;
printglue ( mem [(long) p + 3 ] .cint , mem [(long) p ] .hh.b1 , s ) ;
}
}
}
zprintfamandc ( p )
halfword p ;
{r_printfamandc
printesc ( 329 ) ;
printint ( mem [(long) p ] .hh.b0 ) ;
printchar ( 32 ) ;
printASCII ( mem [(long) p ] .hh.b1 ) ;
}
zprintdelimit ( p )
halfword p ;
{r_printdelimit
integer a ;
a = mem [(long) p ] .qqqq .b0 * 256 + mem [(long) p ] .qqqq .b1 ;
a = a * 4096 + mem [(long) p ] .qqqq .b2 * 256 + mem [(long) p ] .qqqq .b3 ;
if ( a < 0 )
printint ( a ) ;
else printhex ( a ) ;
}
zprintsubsidi ( p , c )
halfword p ;
ASCIIcode c ;
{r_printsubsidi
if ( ( poolptr - strstart [ strptr ] ) >= depththresho )
{
if ( mem [(long) p ] .hh .v.RH != 0 )
print ( 183 ) ;
}
else {
{
strpool [ poolptr ] = c ;
incr ( poolptr ) ;
}
tempptr = p ;
switch ( mem [(long) p ] .hh .v.RH )
{case 1 :
{
println () ;
printcurrent () ;
printfamandc ( p ) ;
}
break ;
case 2 :
showinfo () ;
break ;
case 3 :
if ( mem [(long) p ] .hh .v.LH == 0 )
{
println () ;
printcurrent () ;
print ( 713 ) ;
}
else showinfo () ;
break ;
default :
;
break ;
}
decr ( poolptr ) ;
}
}
zprintstyle ( c )
integer c ;
{r_printstyle
switch ( c / 2 )
{case 0 :
printesc ( 714 ) ;
break ;
case 1 :
printesc ( 715 ) ;
break ;
case 2 :
printesc ( 716 ) ;
break ;
case 3 :
printesc ( 717 ) ;
break ;
default :
print ( 718 ) ;
break ;
}
}
zprintskippar ( n )
integer n ;
{r_printskippar
switch ( n )
{case 0 :
printesc ( 241 ) ;
break ;
case 1 :
printesc ( 242 ) ;
break ;
case 2 :
printesc ( 243 ) ;
break ;
case 3 :
printesc ( 244 ) ;
break ;
case 4 :
printesc ( 245 ) ;
break ;
case 5 :
printesc ( 246 ) ;
break ;
case 6 :
printesc ( 247 ) ;
break ;
case 7 :
printesc ( 248 ) ;
break ;
case 8 :
printesc ( 249 ) ;
break ;
case 9 :
printesc ( 250 ) ;
break ;
case 10 :
printesc ( 251 ) ;
break ;
case 11 :
printesc ( 252 ) ;
break ;
case 12 :
printesc ( 253 ) ;
break ;
case 13 :
printesc ( 254 ) ;
break ;
case 14 :
printesc ( 255 ) ;
break ;
case 15 :
printesc ( 256 ) ;
break ;
case 16 :
printesc ( 257 ) ;
break ;
case 17 :
printesc ( 258 ) ;
break ;
default :
print ( 259 ) ;
break ;
}
}
zshownodelist ( p )
integer p ;
{/* 10 */ r_shownodelist
integer n ;
real g ;
if ( ( poolptr - strstart [ strptr ] ) > depththresho )
{
if ( p > 0 )
print ( 183 ) ;
return ;
}
n = 0 ;
while ( p > memmin ) {
println () ;
printcurrent () ;
if ( p > memend )
{
print ( 184 ) ;
return ;
}
incr ( n ) ;
if ( n > breadthmax )
{
print ( 185 ) ;
return ;
}
if ( ( p >= himemmin ) )
printfontand ( p ) ;
else switch ( mem [(long) p ] .hh.b0 )
{case 0 :
case 1 :
case 13 :
{
if ( mem [(long) p ] .hh.b0 == 0 )
printesc ( 104 ) ;
else if ( mem [(long) p ] .hh.b0 == 1 )
printesc ( 118 ) ;
else printesc ( 187 ) ;
print ( 188 ) ;
printscaled ( mem [(long) p + 3 ] .cint ) ;
printchar ( 43 ) ;
printscaled ( mem [(long) p + 2 ] .cint ) ;
print ( 189 ) ;
printscaled ( mem [(long) p + 1 ] .cint ) ;
if ( mem [(long) p ] .hh.b0 == 13 )
{
if ( mem [(long) p ] .hh.b1 != 0 )
{
print ( 155 ) ;
printint ( mem [(long) p ] .hh.b1 + 1 ) ;
print ( 191 ) ;
}
if ( mem [(long) p + 6 ] .cint != 0 )
{
print ( 192 ) ;
printglue ( mem [(long) p + 6 ] .cint , mem [(long) p + 5 ] .hh.b1 , 0 ) ;
}
if ( mem [(long) p + 4 ] .cint != 0 )
{
print ( 193 ) ;
printglue ( mem [(long) p + 4 ] .cint , mem [(long) p + 5 ] .hh.b0 , 0 ) ;
}
}
else {
g = mem [(long) p + 6 ] .gr ;
if ( ( g != 0.0 ) && ( mem [(long) p + 5 ] .hh.b0 != 0 ) )
{
print ( 194 ) ;
if ( mem [(long) p + 5 ] .hh.b0 == 2 )
print ( 195 ) ;
if ( fabs ( g ) > 20000.0 )
{
if ( g > 0.0 )
printchar ( 62 ) ;
else print ( 196 ) ;
printglue ( 20000 * 65536 , mem [(long) p + 5 ] .hh.b1 , 0 ) ;
}
else printglue ( round ( 65536 * g ) , mem [(long) p + 5 ] .hh.b1 , 0 )
;
}
if ( mem [(long) p + 4 ] .cint != 0 )
{
print ( 190 ) ;
printscaled ( mem [(long) p + 4 ] .cint ) ;
}
}
{
{
strpool [ poolptr ] = 46 ;
incr ( poolptr ) ;
}
shownodelist ( mem [(long) p + 5 ] .hh .v.RH ) ;